home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / falcon / bwing105 / bwrestor.s < prev    next >
Text File  |  1995-04-27  |  3KB  |  99 lines

  1. ;
  2. ; Bird's Wings Restore 1.12
  3. ;
  4. ; RéInstalle l'écran virtuel pour Bird's Wings, dans le cas ou
  5. ; un programme ne remettrait pas correctement la résolution
  6. ; Remet les adresses écran et le mode vidéo
  7. ; Note: Les appels Xbios doivent se faire en mode utilisateur
  8. ;
  9.  
  10.  
  11.         Section TEXT    ; .TEXT tout court dans certains compilateurs
  12.  
  13. Cookoo:
  14.  Pea    Gato            ; Bonjour!
  15.  Move.W #9,-(Sp)        ; Print
  16.  Trap   #1              ; Appel GEMDOS
  17.  Addq.L #6,Sp           ; Corriger pile
  18.  
  19. Super:  
  20.  Clr.L  -(Sp)           ; Mode superviseur
  21.  Move.W #32,-(Sp)       ; Super
  22.  Trap   #1              ; Appel GEMDOS
  23.  Addq.L #6,Sp           ; Corriger pile
  24.  Move.L D0,D7           ; Mettre ancienne pile à l'abri
  25.  
  26. TstCook:
  27.  Tst.L  $5A0.W          ; Une jar au moins?
  28.  Ble.s  NoCook          ; Non, c'est quoi ce micmac?
  29.  Move.L $5A0.W,a6       ; La boiboite à gato
  30. CookL:
  31.  Move.L (a6)+,d0        ; On en prend un
  32.  Beq.s  NoCook          ; Un gateau creux?
  33.  Cmp.L  #'WBrd',d0      ; Notre gâto?
  34.  Beq.s  OkCook          ; Ouais!
  35.  Addq.L #4,a6           ; Suivant!
  36.  Bra.s  CookL           ; Et ca repart
  37.  
  38. OkCook:
  39.  Move.L (A6),A6         ; Adresse bloc B.W. (offset 0= adresse écran)
  40.  
  41.                         ; Note: le SetScreen en mode utilisateur!
  42.  Move.L D7,-(Sp)        ; Ancienne pile utilisateur
  43.  Move.W #32,-(Sp)       ; Super
  44.  Trap   #1              ; Appel GEMDOS
  45.  Addq.l #6,Sp           ; Corriger pile (la pauvre décidément)
  46.  
  47.  Move.W #-1,-(Sp)       ; Demander mode (fictif, car seul le bit 12 est important)
  48.  Move.W #88,-(Sp)       ; VSetMode
  49.  Trap   #14             ; Appel XBIOS
  50.  Addq.L #4,Sp           ; Corriger pile
  51.  Bset.L #12,D0          ; Bit #12 de Bird's Wings : ordre de réinstallation
  52.  
  53. Setscreen:
  54.  Move.W D0,-(Sp)        ; Mode (seul le bit 12 est nécessaire en fait)
  55.  Move.W #3,-(Sp)        ; SetMode
  56.  Move.L (A6),-(Sp)      ; Adresse écran Bird's Wings
  57.  Move.L (A6),-(Sp)      ; Idem
  58.  Move.W #5,-(Sp)        ; SetScreen
  59.  Trap   #14             ; Appel XBIOS
  60.  Add.L  #12,Sp          ; Corriger pile
  61.  
  62.  Bra.s  End             ; Ok all good
  63.  
  64. NoCook:
  65.  Pea    Bah             ; Euh erreur
  66.  Move.W #9,-(Sp)        ; Print
  67.  Trap   #1              ; Appel GEMDOS
  68.  Addq.L #6,Sp           ; Corriger pile
  69.  
  70.  Move.W #7,-(Sp)        ; Attendre une touche sinon il va rien voir et rien comprendre l'autre
  71.  Trap   #1              ; Appel GEMDOS
  72.  Addq.L #2,Sp           ; Corriger pile
  73.  
  74. Suite:
  75.  Move.L D7,-(Sp)        ; Ancienne pile utilisateur
  76.  Move.W #32,-(Sp)       ; Super
  77.  Trap   #1              ; Appel GEMDOS
  78.  Addq.l #6,Sp           ; Corriger pile (la pauvre décidément)
  79.  
  80. End:
  81.  Clr.W  -(Sp)           ; PTerm
  82.  Trap   #1              ; Appel j'aime DOS
  83.  
  84.  
  85.         Section DATA    ; ou .DATA
  86.  
  87.  Even                   ; Even and Hell (...)
  88.  
  89.  Gato:  Dc.b    27,"E","WRestore 1.1 pour Bird's Wings",13,10
  90.         Dc.b    "Réinstalle l'écran",13,10
  91.         Dc.b    0
  92.  
  93.  Even
  94.  
  95.  Bah:   Dc.b    10,"Bird's Wings non installé, arrêtez la tisane .. ou lisez la DOC!",13,10,0
  96.  
  97.  
  98.